Beispiel 2: Testfall für Counter mit globaler/externer Variablen

In diesem Beispiel wird ein Test für den Funktionsbaustein myFB aus dem folgenden ST-Code erstellt und ausgeführt.

PROGRAM Counter
  VAR
    val1 : INT := 5;
    val2 : INT := 10;
    result : INT;
    myFB1 : myFB;
  END_VAR
  VAR_GLOBAL
    count : INT;        
  END_VAR   
  myFB1(in1 := val1, in2 := val2, out => result);
END_PROGRAM
 
FUNCTION_BLOCK myFB
  VAR_INPUT
    in1 : int;
    in2 : int;
  END_VAR
  VAR_EXTERNAL
    count : INT;
  END_VAR
  VAR_OUTPUT
    OUT : INT;
  END_VAR
 
  if (count >= 0) THEN
    OUT := in1 + in2;
  ELSE
    OUT := in1 * in2;
  END_IF;
END_FUNCTION_BLOCK

Bei count0 ist das Ergebnis von myFB die Summe der beiden Eingangswerte. Bei count < 0 ist das Ergebnis das Produkt der beiden Eingangswerte.
Im Unterschied zum Beispiel 1 enthält der Funktionsbaustein myFB eine →externe Variable, die zu testen ist. Die entsprechende →globale Variable befindet sich im Programm Counter, das hier nicht getestet wird.

So testen Sie den obigen Funktionsbaustein myFB:

  1. Erstellen Sie die Testsuite für myFB mit Hilfe des Befehls Testsuite erstellen. Details: Siehe "Testsuite erstellen".
    Ergebnis: Die Testsuite-Datei myFB.test und die Excel-Datei myFB.xlsm sind im gleichen Ordner wie das ST-Objekt vorhanden.

  2. Öffnen Sie die Excel-Datei, geben Sie die Testdaten im bereits vorhandenen Arbeitsblatt test myFB ein und speichern Sie die geänderte Excel-Datei.
    Das Arbeitsblatt enthält bereits die Spalten für die Variablen, die Eingangsdaten liefern. Das sind hier in1, in2 und count. Hier ist OUT als einzige Spalte für die Ausgänge (= erwartete Ergebnisse) enthalten.
    Sie entscheiden, wie viele Testsequenzen und welche Testdaten Sie für den Test eingeben. Die folgenden Testsequenzen und Testdaten werden für den Test eingegeben:

    (Info) Die Excel-Datei enthält auch andere Arbeitsblätter, die in diesem Beispiel nicht verwendet werden. Informationen über diese Arbeitsblätter finden Sie unter "Struktur der Excel-Testsuite, Arbeitsblätter bearbeiten".

  3. Übernehmen Sie alle Testdaten aus der Excel-Datei in die Testsuite-Datei myFB.test, in dem Sie die Excel-Datei importieren. Details: Siehe "Testsuite auf Basis der Excel-Datei für die Testdurchführung erstellen".

  4. Lassen Sie den Test ausführen, z.B. einen SiL-Test mit Testabdeckung. Details: Siehe "Test ausführen".
    Ergebnis der Testausführung: Die Konsole zeigt den Fortschritt und das Ergebnis der Testausführung. 

    (Info) Falls Fehlermeldungen angezeigt werden, ist wahrscheinlich eine andere Version von Neuron Power Engineer gestartet und/oder die Anwendung wurde bereits auf die SPS geladen. Siehe "Test ausführen" für die erforderlichen Schritte.

  5. Kontrollieren Sie die Testausführung. Details: Siehe "Testausführung kontrollieren".
    Bei einem SiL-Test mit Testabdeckung können Sie zusätzlich die Testabdeckung im Editor anzeigen lassen. Für das Beispiel wird diese Testabdeckung angezeigt:

    (Info) Für eine vollständige Testabdeckung der IF-Anweisung wären eigentlich nur 2 Testsequenzen im Test nötig. Lesen Sie unter "Anzeige der Testabdeckung im Editor" für Details nach.